VoiceProcessorImplementation< Precision, VoiceClass, numChannels, maxVoices, GlobalParameterStorage > Class Template Reference
A Simple Voice Processor Implementation supporting note expression events.
More...
#include <voiceprocessor.h>
Detailed Description
template<class Precision, class VoiceClass, int32 numChannels, int32 maxVoices, class GlobalParameterStorage>
class Steinberg::Vst::VoiceProcessorImplementation< Precision, VoiceClass, numChannels, maxVoices, GlobalParameterStorage >
A Simple Voice Processor Implementation supporting note expression events.
- Parameters:
-
| Precision | must be either float or double |
| VoiceClass | the voice class |
| numChannels | number of channels |
| maxVoices | number of maximum voices |
| GlobalParameterStorage | a class holding global parameters |
The VoiceClass must implement the following methods:
int32 getNoteId () const;
void setGlobalParameterStorage (GlobalParameterStorage* globalParameters);
void setSampleRate (ParamValue sampleRate);
void setNoteExpressionValue (int32 index, ParamValue value);
void noteOn (int32 pitch, ParamValue velocity, float tuning, int32 sampleOffset, int32 noteId);
void noteOff (ParamValue velocity, int32 sampleOffset);
bool process (SamplePrecision* outputBuffers[numChannels], int32 numSamples);
void reset ()
See Steinberg::Vst::VoiceBase for an example base class.
This implementation does not support advanced features like voice stealing when maxVoices is reached, etc ...
Constructor & Destructor Documentation
Member Function Documentation
VoiceClass * getVoice |
( |
int32 |
noteId |
) |
[inline, protected] |
VoiceClass * findVoice |
( |
int32 |
noteId |
) |
[inline, protected] |
Field Documentation
VoiceClass voices[maxVoices] [protected] |